The present invention relates to video image processing apparatus and more particularly to the portions of such apparatus for storing and retrieving data representing the video image.
Machine vision systems are being used to analyze products at various points during the manufacturing process. Such a system includes a video camera placed along an assembly line to produce a video image of each product. This video image is then analyzed by an image processor to detect characteristics of the products, such as the presence of components and whether the product's mechanical dimensions are within specified tolerances. Due to the complexity of the image analysis performed, many video image processors are unable to analyze the video image on a real time basis. Therefore, some form of an image storage mechanism must be provided in such processors. Such storage mechanisms usually digitize the image into a two dimensional array of picture elements. One dimension corresponds to the scan lines in the image and the other dimension corresponds to the columns of picture elements.
Heretofore, a video processing system was typically associated with a single camera. As the analysis capabilities improve, it is often desirable to capture two video images of each product as it progresses through the manufacturing process. In this instance each image represents a separate view of the object in order to inspect different features. Although some previous image processors had multiple cameras coupled to them, they could only acquire, store and analyze the image from one camera at a time. As a result, if multiple views of a single object were to be acquired, the views would represent the status of the object at different points in time. This creates the potential that the objects could change their orientation and even their characteristics during the interval between the acquisition of the images. Such changes may have an adverse impact on the inspection process. Furthermore, on a rapidly moving assembly line, great care must be taken to insure that the same object is before each camera when the images are taken. Previously, the only available solution was to employ duplicate processing systems to simultaneously acquire and analyze separate images.
The camera in a typical machine vision system generates a gray scale video image, i.e. an image having a multitude of brightness levels. One class of previous image processors converted the gray scale video image into a binary image having only white and black brightness levels. This conversion simplified the analysis of the image by reducing it to two brightness levels. However, in performing the conversion the entire image was binarized even if only a small area contained objects of interest which were to be analyzed. In such instances, the processing time was prolonged by the conversion of the entire image.
A previously known image processing technique allowed the user to define two dimensional "windows" in the image through which certain features and objects of the image could be seen. These features and objects were of interest to the user and the windows defined the portions of the image which contained the features and objects. The time required for image analysis was decreased by processing only the portions of the image within the windows. Advanced image processors allowed the user to define non-rectangular windows, for example ones which are circular or triangular. Although it was relatively easy to address the stored picture elements in a rectangular window by raster scan addressing, non-rectangular windows required more complex address calculations. In the latter case, each line of picture elements within the window could start and end at different picture element columns. Therefore, the incremental number of addresses from the storage location of the last picture element in one line of the window to the storage location for the first element in the next line is not a fixed number. As a result, processing time has to be utilized in determining the first address in each window line, which slows the processing.